/**
 * @widoc $.pureClone
 * @namespace aux
 * @des 根据源对象深度拷贝数据，并删除 __ 开头的组件属性
 * @type function
 * @param {Array|object} src 拷贝参照的对象
 * @return {Array|object}
 */
$.pureClone = function(src){
    // 基本类型及 function
    if(typeof src !== 'object' || src === null) return src;
    var dst = Object.prototype.toString.call(src) === '[object Array]' ? [] : {};//判断参数的类型,定义要拷贝的对象的数据类型
    for(var i in src){
        if(src.hasOwnProperty(i) && !/^__/.test(i)){
            dst[i] = typeof src[i] === 'object' && src ? $.pureClone(src[i]) : src[i];
        }
    }
    return dst;
};